package com.lenovo.lcdm.dcm.service;

import com.lenovo.lcdm.dcm.dto.DummyConfigurableModelDto;
import com.lenovo.lcdm.dcm.entity.DummyConfigurableModel;
import com.baomidou.mybatisplus.extension.service.IService;
import com.lenovo.lcdm.dcm.vo.DcmHistoryVo;
import com.lenovo.lcdm.dcm.vo.DummyConfigurableModelVo;

import java.util.List;

/**
 * @author sunby1
 * @description 针对表【plm_dummy_configurable_model】的数据库操作Service
 * @createDate 2023-12-27 15:29:12
 */
public interface DummyConfigurableModelService extends IService<DummyConfigurableModel> {

    Integer newVersion(DummyConfigurableModel dummyConfigurableModel);

    DummyConfigurableModelVo getDcmById(DummyConfigurableModel dummyConfigurableModel);

    void undoCheckout(DummyConfigurableModel dummyConfigurableModel);

    List<DcmHistoryVo> getDcmHistoryByMasterId(Long masterId);

    Integer endVersion(DummyConfigurableModel dummyConfigurableModel);

    DummyConfigurableModelDto getDcmDtoById(DummyConfigurableModel dummyConfigurableModel);

    Long createDcm(DummyConfigurableModelDto dummyConfigurableModelDto);

    void checkIn(DummyConfigurableModelDto dummyConfigurableModelDto);

    DummyConfigurableModel getDcmByNameAndGeo(String name, String geo);

    void saveLink(DummyConfigurableModelDto originModelDto, DummyConfigurableModelDto targetModelDto, DummyConfigurableModelDto modifyModelDto);

    /**
     * 根据id查询Number
     * @param id
     * @return
     */
    String getDcmNumberById(Integer id);

    void saveLinkNew(DummyConfigurableModelDto resultDto);
}
